home *** CD-ROM | disk | FTP | other *** search
- *----------------------------------------
- *
- * âfü[â^ÆΦï`é¿éµé╤â}âNâì
- *
- * by Shiroh Nakaya
- *
- *----------------------------------------
-
- *-------------------------------------
- * ÆΦÉö
- *
-
- PCG_UP equ $00eb8000 * éoébéfâGâèâAüiæOö╝éPéUéjéaüj
- PCG_DOWN equ $00ebc000 * éoébéfâGâèâAüiîπö╝éPéUéjéaüj
- SP_SCROLL equ $00eb0000 * éréoâXâNâìü[âïâîâWâXâ^
- BG_CTRL equ $00eb0808 * éaéfâRâôâgâìü[âïâîâWâXâ^
- SP_PALETTE equ $00e82200 * âXâvâëâCâgâpâîâbâgâîâWâXâ^
- GRAPH_SCROLL equ $00e80018 * âOâëâtâBâbâNâXâNâìü[âïâîâWâXâ^
- JOY_STICK_0 equ $00e9a000 * âWâçâCâXâeâBâbâNâ|ü[âgéO
- JOY_STICK_1 equ $00e9a002 * âWâçâCâXâeâBâbâNâ|ü[âgéP
- JOY_CTRL equ $00e9a004 * âWâçâCâXâeâBâbâNâRâôâgâìü[âï
- I8255 equ $00e9a006 * éëéWéQéTéTâÅü[âhâîâWâXâ^
- GPIP equ $00e88001 * éléeéoé╠éféoéhéoâRâôâgâìü[âï
- OPM_REG_NO equ $00e90001 * énéoélâîâWâXâ^ö╘ìåÉ▌ÆΦâ|ü[âg
- OPM_DATA equ $00e90003 * énéoélâfü[â^ô╟é▌Åæé½â|ü[âg
- KEY_TBL equ $0800 * âLü[âZâôâXâeü[âuâï
- V_DISP equ 4 * ÉéÆ╝ïAÉⁿè·è╘(0) or ò\Īè·è╘(1)
- CHARA_DATA equ 72 * âLâââëâfü[â^æìâoâCâgÉö
- ETC_DATA equ 38
-
- *-------------------------------------
- * âOâëâtâBâbâNâXâNâìü[âïâîâWâXâ^ì\æóæ╠
- *
- .offset 0
- P0_X: .ds.w 1
- P0_Y: .ds.w 1
- P1_X: .ds.w 1
- P1_Y: .ds.w 1
- P2_X: .ds.w 1
- P2_Y: .ds.w 1
- P3_X: .ds.w 1
- P3_Y: .ds.w 1
-
- *-------------------------------------
- * é`écéoébélâfü[â^
- *
-
- .offset 0
- PCM_ADD: .ds.l 1
- PCM_OUT: .ds.w 1
- PCM_LEN: .ds.w 1
- PCM_P: .ds.w 1
-
- *-------------------------------------
- * âLâââëâNâ^âfü[â^ì\æó
- *
- * éVéQâoâCâg
- *
- .offset 0
- C_X: .ds.w 1 * âLâââëâNâ^éwì└òW
- C_Y: .ds.w 1 * âLâââëâNâ^éxì└òW
- C_H_X: .ds.w 1 * ôûé╜éΦö╗ÆΦö═ê═Änô_
- C_H_Y: .ds.w 1
- C_HD_X: .ds.w 1 * ôûé╜éΦö╗ÆΦö═ê═
- C_HD_Y: .ds.w 1
- C_MD_X1: .ds.w 1 * ê┌ô«ö═ê═
- C_MD_X2: .ds.w 1
- C_MD_Y1: .ds.w 1
- C_MD_Y2: .ds.w 1
- C_M_F: .ds.w 1 * ô«ì∞âtâëâO
- C_AK_F: .ds.w 1 * ô«ì∞Æåé╠ïZ
- C_AM_F: .ds.w 1 * ïZô«ì∞âtâëâO
- C_HIT_F: .ds.w 1 * é╠é»é╝éΦô«ì∞âtâëâO
- C_HIT_C: .ds.w 1 * âRâôâ{ÉHéτéóÉöâJâEâôâ^
- C_ANI_WC: .ds.w 1 * âtâîü[âÇè╘âEâGâCâgâJâEâôâ^
- C_CNT: .ds.w 1 * ö─ùpâJâEâôâ^
- C_LR_F: .ds.w 1 * îⁿé½âtâëâO
- C_K: .ds.w 1 * âLâââëâNâ^é╠æ╠ù═
- C_B_JOY: .ds.w 1 * æOë±âïü[âvÄ₧é╠âgâèâKÅ≤æ╘
- C_COL: .ds.w 1 * âJâëü[âtâëâOüiéOüFéPéoâJâëü[üAéPüFéQéoâJâëü[üj
- C_NO: .ds.w 1 * âLâââëâNâ^ü[ö╘ìåüië║ïLÄQÅ╞üj
- C_SA_F: .ds.w 1 * òKÄEïZâtâëâOüiéTü`éWüj
- C_SSA_F: .ds.w 1 * Æ┤òKÄEïZâtâëâOüiéTü`éWüj
- C_A_DT: .ds.l 1 * ïZâéü[âVâçâôâfü[â^âeü[âuâïɵô¬âAâhâîâX
- C_A_D: .ds.l 1 * ïZâéü[âVâçâôâfü[â^âAâhâîâX
- C_JOY: .ds.l 1 * ê┌ô«ù╩âeü[âuâïɵô¬âAâhâîâX
- C_PCG_D: .ds.l 1 * éoébéfò\Īâïü[â`âôâAâhâîâX
- C_HIT_D: .ds.l 1 * ìUîéö╗ÆΦâfü[â^âeü[âuâïɵô¬âAâhâîâX
- C_PCM_D: .ds.l 1 * î°ë╩ë╣âfü[â^âeü[âuâïɵô¬âAâhâîâX
-
- *-------------------------------------
- * èeâLâââëâNâ^é╠è╟ù¥âfü[â^ùeù╩
- *
- .offset 0
- P1_DATA: .ds.b 72
- P1_A_DATA: .ds.b 38
- P1_H_DATA: .ds.b 38
- P1_V_DATA: .ds.b 38
- P2_DATA: .ds.b 72
- P2_A_DATA: .ds.b 38
- P2_H_DATA: .ds.b 38
- P2_V_DATA: .ds.b 38
-
- *-------------------------------------
- * èeâLâââëâNâ^é╠éoébéfâfü[â^ùeù╩
- *
- .offset 0
- KAN: .ds.b 16256
- JOH: .ds.b 12672
- HAN: .ds.b 9856
- JUI: .ds.b 11136
- GRI: .ds.b 15744
- DAN: .ds.b 6912
- NAN: .ds.b 20608
- BOB: .ds.b 15872
- CUR: .ds.b 384
- KAN_K: .ds.b 1024
- JOH_K: .ds.b 1024
- HAN_K: .ds.b 1024
- JUI_K: .ds.b 1024
- GRI_K: .ds.b 1024
- DAN_K: .ds.b 1024
- NAN_K: .ds.b 1024
- BOB_K: .ds.b 1024
- KAN_E: .ds.b 2048
- JOH_E: .ds.b 2048
- HAN_E: .ds.b 2048
- JUI_E: .ds.b 2048
- GRI_E: .ds.b 2048
- DAN_E: .ds.b 2048
- NAN_E: .ds.b 2048
- BOB_E: .ds.b 2048
-
- *-------------------------------------
- * èeâLâââëâNâ^é╠âpâîâbâgâfü[â^ùeù╩
- *
- .offset 0
- KAN_C: .ds.b 64
- JOH_C: .ds.b 64
- HAN_C: .ds.b 64
- JUI_C: .ds.b 64
- GRI_C: .ds.b 64
- SPE_C: .ds.b 128
- DAN_C: .ds.b 64
- NAN_C: .ds.b 64
- BOB_C: .ds.b 64
- GR2_C: .ds.b 32
-
- *-------------------------------------
- * é`écéoébélâfü[â^ùeù╩
- *
- .offset 0
- DOKA: .ds.b 896
- BUO: .ds.b 942
- BOKAN: .ds.b 1014
- BOH: .ds.b 496
- GYOH: .ds.b 706
- DOSHU: .ds.b 1186
- KO: .ds.b 2880
- KAN01: .ds.b 534
- KAN02: .ds.b 834
- KAN03: .ds.b 2176
- KAN04: .ds.b 1612
- KAN05: .ds.b 856
- KAN06: .ds.b 2880
- JOH01: .ds.b 670
- JOH02: .ds.b 1864
- JOH03: .ds.b 4476
- JOH04: .ds.b 2384
- JOH05: .ds.b 4330
- HAN01: .ds.b 3400
- HAN02: .ds.b 942
- HAN03: .ds.b 2336
- HAN04: .ds.b 1044
- JUI01: .ds.b 1740
- JUI02: .ds.b 3192
- JUI03: .ds.b 1272
- JUI04: .ds.b 574
- GRID: .ds.b 2612
- DAN01: .ds.b 2456
- DAN02: .ds.b 2880
- DAN03: .ds.b 292
- NAN01: .ds.b 276
- NAN02: .ds.b 1460
- NAN03: .ds.b 2178
- NAN04: .ds.b 2178
- NAN05: .ds.b 2880
- NAN06: .ds.b 482
-
- *-------------------------------------
- * âLâââëâNâ^âfü[â^é╔é┬éóé─é╠òΓæ½Éαû╛
- *
- * é╗é╠éPüFâLâââëâNâ^ü[ö╘ìå
- *
- * éOüFÆåôêè┐Äa
- * éPüFâWâçâô
- * éQüFânâôâRü[
- * éRüFâWâàâC
- * éSüFâOâèâh
- * éTüFâ_âjü[
- * éUüFâiâôâVü[
- * éVüFâ{âu
- * éWüFânâCâpü[âOâèâhüiâ{âXÉΩùpüj
- *
- * é╗é╠éQüFìUîéö╗ÆΦâLâââëé┼é═ê╚ë║é╠âfü[â^é╠Ägùpò√û@é¬êßéóé▄é╖
- *
- * C_K ìUîéù═
- *
-
- *-------------------------------------
- * âWâçâCâXâeâBâbâNÅëè·ë╗üiéëéWéQéTéTè┬ï½É▌ÆΦüj
- *
- J_INIT macro
- move.w #$92,I8255
- andi.w #$ff0f,JOY_CTRL
- .endm
- *-------------------------------------
- * ÉéÆ╝ô»è·è·è╘é▄é┼æ╥é┬
- *
- V_WAIT macro
- .local v_1,v_2
- movea.l #GPIP,a0
- v_1: btst.b #V_DISP,(a0)
- beq v_1
- v_2: btst.b #V_DISP,(a0)
- bne v_2
- .endm
- *-------------------------------------
- * ôûé╜éΦö╗ÆΦ
- *
- HIT_C macro
- .local hit_on,hit_off
-
- move.w C_X(a1),d1
- sub.w C_H_X(a1),d1
-
- move.w C_X(a2),d2
- sub.w C_H_X(a2),d2
- move.w d2,d3
- add.w C_HD_X(a2),d2
- cmp.w d1,d2
- blt hit_off
-
- add.w C_HD_X(a1),d1
- cmp.w d1,d3
- bgt hit_off
-
- move.w C_Y(a1),d1
- sub.w C_H_Y(a1),d1
-
- move.w C_Y(a2),d2
- sub.w C_H_Y(a2),d2
- move.w d2,d3
- add.w C_HD_Y(a2),d2
- cmp.w d1,d2
- blt hit_off
-
- add.w C_HD_Y(a1),d1
- cmp.w d1,d3
- bgt hit_off
-
- moveq.l #1,d0
- bra hit_on
- hit_off:
- clr.w d0
- hit_on:
- .endm
-
- *-------------------------------------